Категории SQL-команд - DDL, DML, DCL, TCL
Разработчику
Аналитику
Тестировщику
Архитектору
Инженеру
Категории SQL-команд: DDL, DML, DCL, TCL
В ходе развития SQL сложилась устоявшаяся практика деления команд языка на несколько логических групп, каждая из которых отвечает за определённый аспект работы с данными и структурами базы данных. Это деление принято называть подъязыками SQL (на английском звучит лучше - sublanguages), хотя в повседневной практике чаще говорят «типы SQL-команд». Такая классификация не является строгой, поэтому скорее вольное деление.
DDL
DDL - Данные Definition Language (язык определения данных), используется для создания, изменения, удаления объектов структуры данных (таблиц, индексов, схем и т.д.).
Основные команды DDL:
CREATE- создание объекта (таблица, индекс);ALTER- изменение структуры существующего объекта;DROP- удаление объекта из базы данных;TRUNCATE- удаление всех данных из таблицы с сохранением её структуры (иногда относят к DML, но чаще к DDL из-за эффекта на метаданные);RENAME- переименование объекта (не во всех СУБД).
DDL-команды обычно неявно фиксируют транзакции, то есть COMMIT происходит автоматически после выполнения. О транзакциях мы поговорим отдельно.
DML
DML - Данные Manipulation Language (язык манипулирования данными), предназначен для работы с данными внутри таблиц - добавления, изменения, удаления записей.
Основные команды DML:
INSERT- добавление новых строк;UPDATE- изменение существующих строк;DELETE- удаление строк;MERGE(илиUPSERT) - условное обновление или вставка данных (в зависимости от наличия записи).
DML-операции выполняются в рамках транзакций и могут быть отменены (ROLLBACK) или зафиксированы (COMMIT).
DQL
DQL - Данные Query Language (язык запросов к данным), используется для выборки из базы данных. Это основной инструмент для получения информации. Здесь одна основная команда - SELECT для извлечения данных по заданным критериям. Некоторые источники считают SELECT частью DML, поскольку он «манипулирует данными», извлекая их.
DCL
DCL - Данные Control Language (язык управления доступом к данным), управляет правами доступа пользователей и ролям в базе данных.
Основные команды DCL:
GRANT- предоставление привилегий.REVOKE- отмена ранее выданных привилегий.
DCL нужен для обеспечения безопасности и аудита в многопользовательских системах.
TCL
TCL - Transaction Control Language (язык управления транзакциями), управляет группами операций как единой транзакцией с возможностью подтверждения или отката изменений.
Основные команды TCL:
COMMIT- фиксация всех изменений текущей транзакции.ROLLBACK- откат всех изменений текущей транзакции.SAVEPOINT- установка точки отката внутри транзакции (позволяет откатиться к промежуточному состоянию).
TCL особенно важен при работе с DML-операциями, где требуется атомарность (все или ничего).
Такое деление возникло в учебных и методичеких материалах, а также в документации вендоров (Oracle, IBM, Microsoft и др.). Оно помогает структурировать обучение и понимание SQL, разделяя его функциональность по назначению. Поэтому граница между подъязыками не всегда чёткие (примеры - TRUNCATE и SELECT, о которых я упомянул ранее). Плюс, некоторые СУБД расширяют функциональность, добавляя новые команды, что усложняет такое деление на команды.
См. также
Другие статьи этого же раздела в боковом меню (как на странице «О разделе»). Вот SQL как раз обеспечивает такую связь и это главное отличие реляционных БД - реляции (relations), что означает связи. Знакомимся с языком - ставим программы, запускаем, выполняем первые запросы. Порядок работы с данными — выполняется подключение к БД (логин/пароль, адрес сервера), отправляется запрос (например, выбрать все записи из таблицы №1), выполняется обработка запроса в СУБД, СУБД… Как читать сложные SQL запросы? Анализ вложенных конструкций. Два важных вопроса, которые мучают начинающих программистов — Когда использовать кавычки двойные (), одинарные (), а когда апострофы (’)?, Когда использовать точки (.), запятые (,) и точку с запятой… Типы данных определяют, какая информация может храниться в столбце таблицы — числа, текст, даты и т.д. Каждая СУБД поддерживает свои типы, но есть общая классификация. Примеры привилегий — SELECT — чтение данных, INSERT — добавление записей, UPDATE — изменение записей, DELETE — удаление записей ★ DDL (Данные Definition Language) – подмножество SQL, отвечающее за определение и изменение структуры базы данных. DDL-операции работают с метаданными — создают, изменяют и удаляют таблицы, индексы,… Ограничения (constraints) в SQL — это декларативные правила, встроенные в определение таблиц, которые обеспечивают корректность, согласованность и надёжность данных на уровне СУБД. Они действуют… ★ DML (Данные Manipulation Language) в отличие от DDL, выполняет работу не со структурой БД, а непосредственно с данными. В DML SQL оперирует четырьмя главными действиями, известными как CRUD — ★… ★ Алиасы (AS) используются для временного переименования таблиц или столбцов в запросе SQL. Они делают запросы более читаемыми и позволяют избежать конфликтов имён. Общее табличное выражение представляет собой именованное временное результирующее множество, существующее в рамках одного SQL-запроса. Общие табличные выражения позволяют разбить сложный запрос на…SQL - язык структурированных запросов
Первые шаги с SQL
Принципы работы SQL-движка
Чтение и анализ сложных SQL-запросов
Синтаксис и пунктуация в SQL
Типы данных в SQL
Взаимодействие приложений с СУБД через SQL
DDL - определение структуры базы данных
Ограничения целостности в SQL
CRUD-операции и язык манипуляции данными (DML)
Алиасы, JOIN и объединение таблиц
Общие табличные выражения (CTE)